package com.ldn.common.basic.enums.system;

import lombok.Getter;

/**
 * 常用缓存前缀枚举
 *
 * @author 李大牛家的牛 (scafel@163.com)
 * @product serverless
 * @className CachePrefixEnums
 * @createDate 2025/2/5 - 16:42
 * @description 缓存前缀枚举
 **/
@Getter
public enum CachePrefixEnums {

    /**
     * 验证码前缀
     **/
    CAPTCHA("captcha:"),
    /**
     * 用户前缀
     */
    USER("user:"),
    /**
     * 小程序用户前缀
     */
    USER_APPLET("user_applet:"),
    /**
     * 用户当前登录的第三方平台编码前缀
     */
    USER_THIRD("user_third:"),
    /**
     * 用户权限前缀
     */
    USER_RULE("user_rule:"),
    /**
     * 用户角色前缀
     */
    USER_ROLE("user_role:"),
    /**
     * 角色前缀
     */
    ROLE("role:"),
    /**
     * 菜单前缀
     */
    MENU("menu:"),
    /**
     * 菜单角色前缀
     */
    MENU_ROLE("menu_role:"),
    /**
     * 部门前缀
     */
    DEPT("dept:"),
    /**
     * 部门用户前缀
     */
    DEPT_USER("dept_user:"),
    /**
     * 部门角色前缀
     */
    DEPT_ROLE("dept_role:"),
    /**
     * 部门菜单前缀
     */
    DEPT_MENU("dept_menu:"),
    /**
     * 管理员角色前缀
     */
    ADMIN_ROLE("admin_role:"),
    /**
     * 管理员角色列表前缀
     */
    ADMIN_ROLES("admin_roles:"),
    /**
     * 管理员菜单前缀
     */
    ADMIN_RULE("admin_rule:"),
    /**
     * 管理员菜单操作前缀
     */
    ADMIN_RULE_ACTIONS("admin_rule_actions:"),
    /**
     * 管理员用户前缀
     */
    ADMIN_USER("admin_user:"),
    /**
     * 管理员TOKEN前缀
     */
    ADMIN_TOKEN("admin_token:"),
    /**
     * 用户token前缀
     */
    USER_TOKEN("user_token:"),
    ;
    /**
     * 自定义缓存前缀
     **/
    private final String prefix;

    CachePrefixEnums(String prefix) {
        this.prefix = prefix;
    }

}
